Skip to content

Abstract the arcade.gl package in order to support different rendering backends#2666

Merged
Cleptomania merged 20 commits into
developmentfrom
gl-abstraction
May 17, 2025
Merged

Abstract the arcade.gl package in order to support different rendering backends#2666
Cleptomania merged 20 commits into
developmentfrom
gl-abstraction

Conversation

@Cleptomania
Copy link
Copy Markdown
Member

This PR takes the arcade.gl package and makes the base classes provided by it abstract.

It then adds a new arcade.gl.backends package, and moves the existing OpenGL specific functionality into arcade.gl.backends.gl. This means that in the top level arcade.gl package, there is no usage of ctypes or pyglet.gl imports, or any OpenGL specific functionality. It is mostly just defining the base types as abstract classes, and the only functionality provided at that level of the package is things that only operate on the abstract classes.

There is a new provider module added, which each backend must implement a Provider in order to provide context creation functions.

@Cleptomania Cleptomania requested a review from einarf May 4, 2025 17:37
Cleptomania and others added 9 commits May 4, 2025 13:43
* Explain the design per Clepto's words

* Get some mac survival guide suggestions written (no compute shader -> frag + FBO magic)

* Good-enough additions of module prefixes for classes

* Delete stuff that's broken or just slowing Clepto down (Gotta go fast)
@Cleptomania Cleptomania merged commit 16a1b7d into development May 17, 2025
7 checks passed
@einarf einarf deleted the gl-abstraction branch May 24, 2025 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants